Page({
  data: {
    // idcardFrontUrl: '/static/images/avatar_1.jpg',
    // idcardBackUrl: '/static/images/avatar_2.jpg',
    // name: '大熊',
    // mobile: '13524568520',
    gender: 1
  },
  async goList() {
    if (!this.verifyName()) return
    if (!this.verifyMobile()) return
    if (!this.verifyPicture()) return
    // 将个不需要的数据删除
    delete this.data.__webviewId__
    delete this.data.status
    // 完事发送提交请求
    const res = await wx.http.post('room', this.data)
    if (res.code !== 10000) return wx.utils.toast('添加失败，请稍后重试')
    // 成功后返回房屋列表
    // reLaunch 回将之前的路径全部关闭，防止页面回退
    wx.reLaunch({
      url: '/house_pkg/pages/list/index'
    })
    // navigateBack 第一步就选择回退到之前的某一个页面，并且关闭其他的所有页面
    // wx.navigateBack({
    //   delta: 4
    // })
  },
  // 上传身份证的前后照片
  async uploadPicture({ mark: { type }}) {
    // 从手机相册或者摄像头获取照片
    const media = await wx.chooseMedia({
      count: 1,
      mediaType: ['image'],
      sizeType: ['compressed']
    })
    console.log(media)
    // 获取图片的本地暂存地址
    const tempURL = media.tempFiles[0].tempFilePath
    // 调用上传接口  上传图片
    wx.uploadFile({
      url: 'https://live-api.itheima.net/upload',
      filePath: tempURL,
      name: 'idcard',
      header: {
        Authorization: getApp().token
      },
      success: ({ data }) => {
        const { code, data: { url }} = JSON.parse(data)
        if (code !== 10000) return wx.utils.toast('上传图片失败！')
        // 更新图片地址
        this.setData({
          [type]: url
        })
      }
    })
  },
  // 移除图片的类型（身份证正面或反面）
  removePicture(ev) {
    const type = ev.mark?.type
    this.setData({ [type]: '' })
  },
  onLoad(data) {
    // this.setData({ point, building, room })
    // console.log(data)
    // 判断是 新增 还是 编辑
    if (data.id) {
      // 如果有id，发送请求，拿后端数据
      wx.setNavigationBarTitle({ title: '编辑房屋信息' })
      this.getHouseDetail(data.id)
    } else {
      // 如果没有传id，则更新data里传入的数据
      wx.setNavigationBarTitle({ title: '新增房屋信息' })
      this.setData(data)
    }
  },
  // 获取房屋详情
  async getHouseDetail(id) {
    // 发送请求
    const { code, data } = await wx.http.get('room/' + id)
    if (code !== 10000) return wx.utils.toast()
    // console.log(data)
    // 更新数据
    this.setData(data)
  },
  // changeGender({ detail: gender }) {
  //   this.setData({ gender })
  // },
  // 验证
  verifyName() {
    const reg = /^[\u4e00-\u9fa5]{2,10}$/
    const valid = reg.test(this.data.name.trim())
    if (!valid) wx.utils.toast('请填写真实中文姓名!')
    return valid
  },
  verifyMobile() {
    const reg = /^[1][3-8][0-9]{9}$/
    const valid = reg.test(this.data.mobile)
    if (!valid) wx.utils.toast('请填写正确的手机号码!')
    return valid
  },
  verifyPicture() {
    // 前后两张照片都要有
    const valid = Boolean(this.data.idcardBackUrl) && Boolean(this.data.idcardFrontUrl)
    if (!valid) wx.utils.toast('请上传身份证照片')
    return valid
  }

})
